Team, Visitors, External Collaborators
Overall Objectives
Research Program
Application Domains
Highlights of the Year
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Results

Meta-F*: Proof automation with SMT, Tactics, and Metaprograms

Participants : Guido Martinez, Danel Ahman, Victor Dumitrescu, Nick Giannarakis [Princeton University] , Chris Hawblitzel [Microsoft Research] , Catalin Hritcu, Monal Narasimhamurthy [University of Colorado Boulder] , Zoe Paraskevopoulou [Princeton University] , Clément Pit-Claudel [MIT] , Jonathan Protzenko [Microsoft Research] , Tahina Ramananandro [Microsoft Research] , Aseem Rastogi [Microsoft Research] , Nikhil Swamy [Microsoft Research] .

We introduced Meta-F*[23], a tactics and metaprogramming framework for the F* program verifier. The main novelty of Meta-F* is allowing to use tactics and metaprogramming to discharge assertions not solvable by SMT, or to just simplify them into well-behaved SMT fragments. Plus, Meta-F* can be used to generate verified code automatically.

Meta-F* is implemented as an F* effect, which, given the powerful effect system of F*, heavily increases code reuse and even enables the lightweight verification of metaprograms. Metaprograms can be either interpreted, or compiled to efficient native code that can be dynamically loaded into the F* type-checker and can interoperate with interpreted code. Evaluation on realistic case studies shows that Meta-F* provides substantial gains in proof development, efficiency, and robustness.